In a data network, the forwarding paths are typically controlled by a path control protocol, which provides the path for a frame/packet to be forwarded. In order to improve the robustness of the data network, it is desirable to build redundancy in path selection, i.e., at a given node, if one path fails, another path can be used to route traffic. It is desirable that such redundancy is predetermined thus in case of topology change, the node may immediately switch path. One way to computing redundant paths is to view a network connection as a graph, and find maximally redundant trees (MRTs) in the graph.
Some solutions have been proposed in implementing maximally redundant trees at Internet Protocol (IP) layer (Layer 3, or L3). For example, an IETF Draft, dated Jul. 12, 2013, entitled “An Architecture for IP/LDP Fast-Reroute Using Maximally Redundant Trees,” discloses a method to gives link-protection and node protection in any network topology that is still connected after a link/node failure. Another IETF draft, dated Oct. 18, 2013, entitled “Intermediate System to Intermediate System (IS-IS) Extensions for Maximally Redundant Trees,” discloses an extension of IS-IS protocol to support distributed computation of MRTs. Yet, we know no solution proposed in implementing maximally redundant trees at OSI Layer 2 (data link layer) (referred to as L2). Also, the known Layer 3 solutions do not address distribution of computation of maximally redundant trees. It is desirable to make Layer 3 MRT solution more efficient and have a layer 2 MRT solution.